const path = require("path");
const debug = process.env.NODE_ENV !== "production";
const Timestamp = new Date().getTime();
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const name = 'gcapp'
module.exports = {
  publicPath: "./", // 根域上下文目录
  outputDir: "dist", // 构建输出目录
  assetsDir: "assets", // 静态资源目录 (js, css, img, fonts)
  lintOnSave: false, // 是否开启eslint保存检测，有效值：ture | false | 'error'
  runtimeCompiler: true, // 运行时版本是否需要编译
  transpileDependencies: [], // 默认babel-loader忽略mode_modules，这里可增加例外的依赖包名
  productionSourceMap: true, // 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度
  configureWebpack: {
    name:name,
    // 修改打包后的js文件名称
    output: {
        // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
        filename: `js/[name].[hash].${Timestamp}.js`,
        chunkFilename: `js/[name].[hash].${Timestamp}.js`
    },
    // 修改打包后的css文件名称
    plugins: [
        new MiniCssExtractPlugin({
            filename: `css/[name].[hash].${Timestamp}.css`,
        })
    ],
    resolve: {
      alias: {
         "@": path.resolve(__dirname, "./src"),
         "@c": path.resolve(__dirname, "./src/components"),
      }
    }
},
  chainWebpack: config => {
    // webpack链接API，用于生成和修改webapck配置，https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
    if (debug) {
      // 本地开发配置
    } else {
      // 生产开发配置
    }
  },
  parallel: require("os").cpus().length > 1, // 构建时开启多进程处理babel编译
  pluginOptions: {
    // 第三方插件配置
  },
  pwa: {
    // 单页插件相关配置 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  },
  devServer: {
    open: true,
    host: "0.0.0.0",
    port: 8081,
    https: false,
    hotOnly: false,
    proxy: {
      // 配置跨域
      "/api": {
       // target:'http://192.168.110.171:10001',
      // target:'http://192.168.1.175:10001',
         target:'http://web.sanfengcun.com',
       // target:'http://api.sanfengcun.com',
        ws: true,
        changOrigin: true,
        pathRewrite: {
          '/api':'/api' 
        }
      }
    },
    before: app => {}
  }
};